package com.youjiang.meeting.service;

import java.util.List;

import com.youjiang.meeting.po.Expire;
import com.youjiang.meeting.po.Program;
import com.youjiang.meeting.po.SaveQrUrl;
import com.youjiang.meeting.po.UserInfo;
import com.youjiang.meeting.po.Wxconfig;


public interface UserService {
	
	/**
	 * 
	 * @param mail 邮箱
	 * @param password 密码
	 * @param name 公司名
	 * @return
	 */
	public boolean register(String email,String password,String name);
	
	/**
	 * 
	 * @param mail
	 * @param password
	 * @return
	 */
	public UserInfo login(String mail,String password);
	/**
	 * 
	 * @param mail
	 * @return
	 */
	public boolean findByEmail(String mail);
	/**
	 * 当注册成功时为当前用户设置当前时间+15天的有效期
	 * @param time
	 */
	public void insertResgisterTime(int userid,String time);

	/**
	 * 根据邮箱查找用户
	 * @param email
	 * @return
	 */
	public UserInfo findUserInfoByEmail(String email);

	
	/**
	 * 根据用户信息查询ExpireIn对象
	 * @param id
	 */
	public Expire getExpireInByUserId(int id);
	
	/**
	 * 根据用户id查找活动
	 * @param id
	 * @return
	 */
	public List<Program> getProgramsByUserId(int id);
	/**
	 * 根据用户id查找配置信息
	 * @param id
	 * @return
	 */
	public Wxconfig getWxconfigByUserId(int id);

	/**
	 * 将配置文件写入到数据库中
	 * @param config
	 */
	public void writeConfigure(Wxconfig config);

	/**
	 * 更新配置文件
	 * @param config
	 */
	public void updateConfigure(Wxconfig config);

	public UserInfo findUserByUserId(Integer userid);

	/**
	 * 用户支付成功后更新使用的时间
	 * @param id  用户的id
	 * @param time
	 */
	public void updateResgisterTime(Integer id, String time);

	/**
	 * 根据用户id获得数据库中与用户绑定的SaveQrUrl对象
	 * @param userid
	 * @return
	 */
	public SaveQrUrl getQrUrlFromUserid(int userid);
	
}
